/***************************************************************************/
/* Procedimiento:  Movimientos_PlaneadosInsertar
/* Descripcion:   Insertar o Modifica una fila en la tabla operacion.Movimientos_Planeados
/* Parametros:    ?InfoParametros
/*                pTransaccion. Numero identificador de la Transaccion
/*                pMensaje. Mensaje de comfirmacion o excepcion
/* Comentarios:         
/****************************************************************************/

PROCEDURE  Movimientos_PlaneadosInsertarModificar(pptda_mov_plan NUMBER, ptipo_maniobra VARCHAR2, 
						pmaniobrista NUMBER, pnaviera NUMBER, pag_aduanal NUMBER, 
						pganchos NUMBER, ptons NUMBER, ppct_camiones NUMBER, 
						ppct_ffcc NUMBER, pcamiones NUMBER, pffcc NUMBER, 
						pobs VARCHAR2, pf_ini_op VARCHAR2, pf_fin_op VARCHAR2, 
						pno_pasajeros NUMBER, pfatraqueposible VARCHAR2, ppct_almacen NUMBER, 
						, pTransaccion OUT NUMBER, pMensaje OUT VARCHAR2)
AS
vExisteRegistro NUMBER(1);
BEGIN
  SELECT count(*)
  INTO   vExisteRegistro
  FROM   operacion.Movimientos_Planeados
  WHERE  nidDocumento=pNidDocumento;
  
  IF vExisteRegistro=0 THEN
    INSERT INTO operacion.Movimientos_Planeados
	           (vid, ptda_mov_plan, tipo_maniobra, 
						maniobrista, naviera, ag_aduanal, 
						ganchos, tons, pct_camiones, 
						pct_ffcc, camiones, ffcc, 
						obs, f_ini_op, f_fin_op, 
						no_pasajeros, fatraqueposible, pct_almacen, 
						)
    VALUES     (seq_Movimientos_Planeados.nextval, pptda_mov_plan, ptipo_maniobra, 
						pmaniobrista, pnaviera, pag_aduanal, 
						pganchos, ptons, ppct_camiones, 
						ppct_ffcc, pcamiones, pffcc, 
						pobs, to_date(pf_ini_op,'DD/MM/YYYY HH24:MI:SS'), to_date(pf_fin_op,'DD/MM/YYYY HH24:MI:SS'), 
						pno_pasajeros, to_date(pfatraqueposible,'DD/MM/YYYY HH24:MI:SS'), ppct_almacen, 
						);
  ELSE
    UPDATE operacion.Movimientos_Planeados
    SET    ptda_mov_plan=pptda_mov_plan, tipo_maniobra=ptipo_maniobra, 
		maniobrista=pmaniobrista, naviera=pnaviera, ag_aduanal=pag_aduanal, 
		ganchos=pganchos, tons=ptons, pct_camiones=ppct_camiones, 
		pct_ffcc=ppct_ffcc, camiones=pcamiones, ffcc=pffcc, 
		obs=pobs, f_ini_op=to_date(pf_ini_op,'DD/MM/YYYY HH24:MI:SS'), f_fin_op=to_date(pf_fin_op,'DD/MM/YYYY HH24:MI:SS'), 
		no_pasajeros=pno_pasajeros, fatraqueposible=to_date(pfatraqueposible,'DD/MM/YYYY HH24:MI:SS'), pct_almacen=ppct_almacen
    WHERE  nidDocumento=pNidDocumento;
  END IF;
  
  COMMIT;
  pTransaccion := 1;
  pMensaje := 'Terminado OK';
  dbms_output.put_line('Terminado OK');

EXCEPTION
  WHEN OTHERS THEN
    pTransaccion := 0;
    pMensaje := 'Error en  Movimientos_Planeados_InsertarModificar:' || SQLCODE || ' Mensaje: ' || sqlerrm;
    dbms_output.put_line('Error en  Movimientos_Planeados_InsertarModificar:' || SQLCODE || ' Mensaje: ' || sqlerrm);
END;
